﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClienteWinMGI.AccesoDatos
{
    class AccesoMGIFactory
    {
             /// <summary>
            /// implementación de singleton para la fabrica de controladores
            /// </summary>
            static private AccesoMGIFactory _instance;

            /// <summary>
            /// implementación de singleton para la fabrica de controladores
            /// retorna una instancia de la fabrica
            /// </summary>
            /// <returns>LogicaFactory </returns>
            static public AccesoMGIFactory getInstance()
            {
                if (_instance == null)
                {
                    _instance = new AccesoMGIFactory();
                }
                return _instance;
            }
            /// <summary>
            /// retorna un controlador de Clientes
            /// </summary>
            /// <returns>IMGIClientes</returns>
            public IMGIClientes getIMGIClientes()
            {
                return new CtrMGIClientes();
            }


            /// <summary>
            /// retorna un controlador de Indicentes
            /// </summary>
            /// <returns>IMGIIncidentes</returns>
            public IMGIIncidentes getIMGIIncidentes()
            {
                return new CtrMGIIncidentes();
            }


            /// <summary>
            /// retorna un controlador de Sistemas
            /// </summary>
            /// <returns>IMGISistemas</returns>
            public IMGISistemas getIMGISistemas()
            {
                return new CtrMGISistemas();
            }


            /// <summary>
            /// retorna un controlador de Usuarios
            /// </summary>
            /// <returns>IMGIUsuarios</returns>
            public IMGIUsuarios getIMGIUsuarios()
            {
                return new CtrMGIUsuarios();
            }


    }
    
}
